<HTML><HEAD><TITLE>set_range(?Svar, ?Glb, ?Lub)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(conjunto)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>set_range(?Svar, ?Glb, ?Lub)</H1>
Svar is a set domain variable and Glb and Lub are the respective lower
bound and upper bound of its domain.


<DL>
<DT><EM>?Svar</EM></DT>
<DD>A set domain variable.
</DD>
<DT><EM>?Glb</EM></DT>
<DD>A free variable or a ground set.
</DD>
<DT><EM>?Lub</EM></DT>
<DD>A free variable or a ground set.
</DD>
</DL>
<H2>Description</H2>
   This predicate computes the lower bound Glb and the upper bound Lub of
   the domain attached to the set variable Svar.  If Glb and/or Lub are
   ground, they should be equal to the respective bounds of the domain,
   otherwise it fails.

<P>

<H3>Fail Conditions</H3>
   Fails if Svar is not a set domain variable or if one of the terms glb,
   Lub, can not be unified with the respective bounds of the domain of
   Svar.


<H3>Resatisfiable</H3>
   No.
<H3>Exceptions</H3>
<DL>
<DT><EM>(4) instantiation fault </EM>
<DD>Var is not a domain variable.
</DL>
<H2>Examples</H2>
<PRE>
[eclipse 7]: S `:: {} .. {1,2,3}, set_range(S, Glb, Lub).

S = S{{} .. {1, 2, 3}}
Glb = {}
Lub = {1, 2, 3}
yes.



</PRE>
<H2>See Also</H2>
<A HREF="../../lib/conjunto/BNN-2.html">`:: / 2</A>, <A HREF="../../lib/conjunto/glb-2.html">glb / 2</A>, <A HREF="../../lib/conjunto/lub-2.html">lub / 2</A>
</BODY></HTML>
